package com.j283_5.wisdom_park.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.j283_5.wisdom_park.common.result.ResultData;
import com.j283_5.wisdom_park.pojo.CollectionRecord;
import com.j283_5.wisdom_park.pojo.ContractTable;
import com.j283_5.wisdom_park.pojo.Peree;
import com.j283_5.wisdom_park.pojo.Person;
import com.j283_5.wisdom_park.vo.contract_management.CollectionRecordVo;
import com.j283_5.wisdom_park.vo.contract_management.ContractTableVo;
import com.j283_5.wisdom_park.vo.tenant_management.Collection_ContractVo;
import com.j283_5.wisdom_park.vo.tenant_management.InsertPereeVo;
import com.j283_5.wisdom_park.vo.tenant_management.Peree_CommentsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 租户表 服务类
 * </p>
 *
 * @author laoda
 * @since 2022-04-28
 */
public interface PereeService  {

    /**
     * 多添加查询租户信息
     * @param pereeCommentsVo
     * @return
     */
    Map<String,Object> findPeree_CommentsVo(
            Peree_CommentsVo pereeCommentsVo,
            Integer page,
            Integer limit
    );

    /**
     * 根据id查询租户基本信息
     * @param perId
     * @return
     */
    ResultData findPereeInfoById(
            @Param("perId")Integer perId
    );

    /**
     * 根据租户id查询人员信息
     * @param person
     * @param page
     * @param limit
     * @return
     */
    Map<String,Object> findPersonByPerId(
            @Param("person")Person person,
            @Param("page") Integer page,
            @Param("limit") Integer limit
    );

    /**
     * 租户删除
     * @return
     */
    ResultData DeletePeree(
            List<Integer> perIdList
    );

    /**
     * 租户删除
     * @return
     */
    ResultData DeletePereePerson(
            List<Integer> personIdList
    );

    /**
     * 查询租户合同信息
     * @param perId
     * @return
     */
    List<ContractTableVo> findPereeContract(
            @Param("perId")Integer perId
    );

    /**
     * 查询租户房间信息
     * @param perId
     * @return
     */
    List<ContractTableVo> findPereeRoom(
            @Param("perId")Integer perId
    );

    /**
     * 根据租户id查询收款信息
     * @param perId
     * @return
     */
    List<CollectionRecordVo> findCollectionByPereeId(@Param("perId")Integer perId);

    /**
     * 租户插入
     * @return
     */
    ResultData insertPereePerson(
            InsertPereeVo insertPereeVo
            );

    /**
     * 查询楼宇no
     * @return
     */
    ResultData findtenNo();

    /**
     * 进入租户信息新增界面
     * @return
     */
    ResultData findPereeRoomTenVo();
}
